package com.ug.managent.domain;

import java.awt.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ug.common.annotation.Excel;
import com.ug.common.core.domain.BaseEntity;

/**
 * 工单主对象 work_order
 * 
 * @author Leo
 * @date 2025-04-22
 */
public class WorkOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工单ID */
    private Long id;

    /** 关联井盖ID */
    @Excel(name = "关联井盖ID")
    private Long coverId;

    @Excel(name = "图片地址")
    private String image;

    /** 工单类型 */
    @Excel(name = "工单类型")
    private Integer orderType;

    /** 工单状态 */
    @Excel(name = "工单状态")
    private Long orderStatus;

    /** 优先级 */
    @Excel(name = "优先级")
    private Integer priority;

    /** 问题描述 */
    @Excel(name = "问题描述")
    private String orderDesc;

    /** 维修方案 */
    @Excel(name = "维修方案")
    private String repairPlan;

    /** 维修负责人ID */
    @Excel(name = "维修负责人ID")
    private Long assigneeId;

    /** 上报人/巡检员ID */
    @Excel(name = "上报人/巡检员ID")
    private Long inspectorId;

    /** 处理管理员ID */
    @Excel(name = "处理管理员ID")
    private Long adminId;

    /** 实际完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completeTime;

    /** 删除标记 */
    @Excel(name = "删除标记")
    private Integer isDeleted;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setCoverId(Long coverId) 
    {
        this.coverId = coverId;
    }

    public Long getCoverId() 
    {
        return coverId;
    }

    public void setOrderType(Integer orderType) 
    {
        this.orderType = orderType;
    }

    public Integer getOrderType() 
    {
        return orderType;
    }

    public void setOrderStatus(Long orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public Long getOrderStatus() 
    {
        return orderStatus;
    }

    public void setPriority(Integer priority) 
    {
        this.priority = priority;
    }

    public Integer getPriority() 
    {
        return priority;
    }

    public void setOrderDesc(String orderDesc) 
    {
        this.orderDesc = orderDesc;
    }

    public String getOrderDesc() 
    {
        return orderDesc;
    }

    public void setRepairPlan(String repairPlan) 
    {
        this.repairPlan = repairPlan;
    }

    public String getRepairPlan() 
    {
        return repairPlan;
    }

    public void setAssigneeId(Long assigneeId) 
    {
        this.assigneeId = assigneeId;
    }

    public Long getAssigneeId() 
    {
        return assigneeId;
    }

    public void setInspectorId(Long inspectorId) 
    {
        this.inspectorId = inspectorId;
    }

    public Long getInspectorId() 
    {
        return inspectorId;
    }

    public void setAdminId(Long adminId) 
    {
        this.adminId = adminId;
    }

    public Long getAdminId() 
    {
        return adminId;
    }

    public void setCompleteTime(Date completeTime) 
    {
        this.completeTime = completeTime;
    }

    public Date getCompleteTime() 
    {
        return completeTime;
    }

    public void setIsDeleted(Integer isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted() 
    {
        return isDeleted;
    }

    public void setImage(String image)
    {
        this.image = image;
    }

    public String getImage()
    {
        return image;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("coverId", getCoverId())
            .append("orderType", getOrderType())
            .append("image",getImage())
            .append("orderStatus", getOrderStatus())
            .append("priority", getPriority())
            .append("orderDesc", getOrderDesc())
            .append("repairPlan", getRepairPlan())
            .append("assigneeId", getAssigneeId())
            .append("inspectorId", getInspectorId())
            .append("adminId", getAdminId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("completeTime", getCompleteTime())
            .append("isDeleted", getIsDeleted())
            .toString();
    }
}
